Broadcast media streaming with customized playlist insertion method and system

ABSTRACT

A method, system and server for customizing a broadcast media stream for delivery to a client associated with a user via a communication network. The broadcast media stream comprises a plurality of content segments, such as hosted segments, which are separated by a plurality of musical, informational or generic segments. During streaming the plurality of musical, informational or generic segments are modified based on one or more user preferences such that there content matches more closely the preferred content of the user.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims benefit, under 35 U.S.C. §119(e), of U.S.provisional application Ser. No. 61/432,797, filed on Jan. 14, 2011,which is incorporated herein in its entirety by reference.

FIELD OF THE INVENTION

The present invention relates to a broadcast media streaming withcustomized playlist insertion method and system.

BACKGROUND OF THE INVENTION

In broadcast programming, especially live broadcast radio shows thatinclude music interspersed with a significant amount of talk, trafficand weather, such as morning shows and the like, a listener typicallyselects the particular broadcast based on a combination of the hosts andthe broadcaster's play list. As a result, while a user may find thehosts pleasing, the playlist may include songs, musicians or types ofmusic that the listener finds objectionable.

In other cases, portions of the broadcast may not be appealing to aparticular listener, for example a particular song, artist or type ofmusic which is found disagreeable to the listener. Unfortunately, insuch a case broadcasting the particular song, artist or type of musicmay have the unintended effect of motivating the listener to select adifferent broadcaster, thereby depriving the broadcaster (and hisassociated advertisers) of a portion of the listening audience.

In still other cases, the listener or viewer may wish to have someadditional content, such as news and weather forecasts, but not trafficreports or the like, or the user may wish to have such contentcustomized to a particular region.

The prior art reveals a variety of proposed systems and methods forsubstituting content such as advertising during detected breaks inbroadcast programming, for example based on the presence of a detectablechange in the broadcast stream or through provision of controlinformation together with the broadcast stream. Additionally, the priorart also reveals that the types of content substituted may be based onlistener or viewer characteristics, such as location and the like. Otherprior art reveals virtual DJs which allow the listener to setpreferences, such as preferred artists, albums or the like, which arethen used to generate playlists, but no mechanisms are provided forsubstituting or integrating such playlists into a live broadcast radioprogram including a live host.

SUMMARY OF THE INVENTION

In order to address the above and other drawbacks there is provided amethod for customizing a broadcast media stream for delivery to a clientassociated with a user via a communication network, the broadcast mediastream comprising a plurality of content segments. The method comprisesrequesting at least one user preference from the user, detecting anattribute of a next content segment to be streamed, comparing thedetected attribute with the at least one user preference wherein if thedetected attribute does not accord with the at least one userpreference, the next content segment to be streamed to the user isaltered with an alternative content segment, the alternative contentsegment comprising an attribute which accords with the at least one userpreference, and streaming the next content segment to the clientassociated with the user.

There is also disclosed a system for delivering a customized broadcastmedia stream to a plurality of users. The system comprises acommunication network, a plurality of media clients, each of the mediaclients associated with a respective on of the users and at least oneuser preference associated with each of the users, a media serverconnected with each of the plurality of media clients via thecommunications network, a source of a media stream comprising aplurality of content segments, and a source of a plurality ofalternative content segments, wherein for each of the plurality of mediaclients the media server detects an attribute of a next content segmentto be streamed from the plurality of content segments and wherein whenthe detected attribute does not accord with the at least one userpreference of the associated user, the next content segment is modifiedwith an alternative content segment for streaming to the client, thealternative content segment comprising an attribute which accords withthe at least one user preference.

Additionally, there is disclosed a media server for customizing ageneric media stream comprising a plurality of content segments fordelivery to a plurality of media clients via a communications network,each of the clients associated with a respective one of a plurality ofusers, each of the users having at least one user preference. The servercomprises an interface for communicating with the plurality of mediaclients via the communications system, a storage system for holding aplurality of alternative content segments, a fragmenter for dividing thegeneric media stream into a plurality of sub streams, each of substreams for streaming to an associated client via the interface, and amodifier for each of the sub streams, wherein for each sub stream, whenthe modifier detects that an attribute of a next content segment doesnot accord with the at least one user preference of the user of theclient associated with the sub stream, the next segment is replaced withan alternative content segment comprising an attribute which accordswith the at least one user preference.

BRIEF DESCRIPTION OF THE DRAWINGS

In the appended drawings:

FIG. 1 is a schematic diagram of a broadcast media streaming withcustomized playlist insertion system in accordance with an illustrativeembodiment of the present invention;

FIG. 2 is a communication diagram of a broadcast media streaming withcustomized playlist insertion system in accordance with an illustrativeembodiment of the present invention;

FIGS. 3A and 3B provide illustrations of the web pages for accessing alive media serving system in accordance with an illustrative embodimentof the present invention;

FIG. 4 is an exemplary media stream comprising delimited host andmusical segments;

FIGS. 5A through 5C provide versions of interfaces for selecting userpreferences in accordance with an illustrative embodiments of thepresent invention;

FIG. 6 is the exemplary media stream of FIG. 4 comprising various hostand musical segments delimited by embedded break markers in accordancewith an illustrative embodiment of the present invention; and

FIG. 7 is a block diagram of a media streaming device in accordance withan illustrative embodiment of the present invention.

DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

It is understood that in the present specification the term “live” ismeant to designate real-time broadcasts of live events as well as liveaudio or video signals such as, for example, live radio or televisionshows and live concerts. It is also to be understood that although inthe present specification reference is made to MP3 and FLV audio andother video formats, a person skilled in the art may also apply thepresent invention to other audio and video formats.

Referring to FIG. 1, a broadcast media streaming with customizedplaylist insertion system, generally referred to using the referencenumber 10, will now be described. Listeners/viewers using devices as in12, such as a personal computer, a laptop computer, a personal assistantdevice, smartphone, or the like, and on which is installed a mediaclient or application as in 14, for example an audio/video player suchas Flash Player™, may access, via a broadband communication network asin 16, such as the Internet or the like, a content provider system 18comprising a broadcast media streaming device 20 which may be accessedthrough, for example, a hyper link on a web page on a web server 22 viathe Internet. The broadcast media streaming device 20 serves a hostedmedia stream 24 comprising live hosted segments 26 interconnected withinserted segments 28. In a particular embodiment the hosted media stream24 could also comprise other segments, such as live or prerecordedweather and traffic reports and advertisements.

The content provider system 18 may be, for example, a commercial radiostation, in a particular exemplary embodiment a commercial radio stationwith a hosted morning show or the like comprising talk radio, news,weather and traffic reports interspersed with music segments and thelike. The web server 22 may optionally provide the listener/viewer withlogin access to detailed media stream information. The personal deviceas in 12 may connect to the web server 22 using an Internet connectionsuch as, for example, Ethernet (broadband, high speed), wireless Wi-Fi,cable Internet, or the like.

Referring now to FIG. 2 in addition to FIG. 1, the personal device as in12 comprising the media client as 14, typically in the form of asoftware application or module, gains access to the communicationsnetwork 16 via a standardized communications interface 30, such as aTCP/IP stack or the like. As is generally known in the art, the use ofsuch a standardized communication interface 30 ensures that the personalcomputing device as in 12 is able to communicate with other parties,such as the media serving device 20, via the communication network 16.

Still referring to FIG. 2, the media serving device as in 20 comprises abroadcast media server 32, typically in the form of a softwareapplication or module, which gains access to the communications network16 via a standardized communications interface 34 using client-serverprotocols as are generally known in the art, such as a TCP/IP stack orother like client-server communication protocols, to communicate withthe media client as in 14. As will now be clear to a person of ordinaryskill in the art, once an end-to-end communications connection 36 hasbeen established between the media server 32 and the media client as in14, for example using the TCP/IP protocol, data typically in the form ofdata packets (not shown) can be exchanged between the media client 14and the media server 32.

Illustratively, the content provider system 18 additionally comprises amedia acquisition device 38 comprising a live hosted stream generationpart 40 and a live hosted segment acquisition part 42. Illustratively,the hosted stream generation part 40 and the hosted segment acquisitionpart 42 are applications running on the same system and communicate viainternal communication channels of the system in question (all notshown). The hosted stream generation part 40 comprises appropriatehardware and software to acquire and convert a live broadcast (such as ahosted radio program) into the series of live hosted segments 26.

Still referring to FIG. 2, the hosted segment acquisition part 42illustratively acquires live streaming media from the live hosted streamgeneration part 40. As discussed in part above, the live streamgeneration part 40 could be, for example, a live radio broadcastassociated with the content provider system 18 which is encoded into asuitable digital format such as WAV, AIFF, AU or raw header-less PCM,for streaming to the live segment acquisition part 42. The mediaacquisition device 38 further comprises a standardized communicationsinterface 44, such as a TCP/IP stack or the like. The hosted segmentacquisition part 42 uses the communications interface 44 to interconnectwith the media server 32, illustratively through an end-to-endcommunications connection 46 established between the hosted segmentacquisition part 42 and the media server 32 over the communicationsnetwork 16.

Still referring to FIG. 2, the media server 32 and the hosted segmentacquisition part 42 and their respective communications interfaces 34,44, could be implemented, for example, as applications executing oncomputer hardware (not shown). In an alternative embodiment they couldalso be integrated on the same platform.

Still referring to FIG. 2, once the communications connection 46 hasbeen established between the hosted segment acquisition part 42 and themedia server 32, by methods as are generally known in the art, forexample using an HTTP Get including an appropriate URL referencing theparticular live stream or mountpoint on the media server 32, hostedsegments 26 acquired by the live segment acquisition part 40 and musicalsegments (reference 28 in FIG. 1) are illustratively supplied to themedia server 32 as a generic stream of digital data in the hosted mediastream 24′, typically in the form of a series of media data packets (notshown) in a known format, such as an MP3 audio stream or FLV (FlashVideo) or the like. The initial media data packet(s) typically includeheaders comprising information related to the hosted segments 26 and thegeneric or default musical segments 28′ which can be stored by the mediaserver 32 for subsequent transmission to the media client as in 14.

Referring now to FIGS. 3A and 3B in addition to FIG. 2, connectionbetween the media server 32 and the media client 14 is illustrativelycarried out by positioning, on a web page 48 of the web site hosted bythe web server 22 of the content provider system 18, an appropriateillustrative icon 50 which is associated with an appropriate hyper link.For example, for a hosted media stream 24 generated by an online radiobroadcasting system the illustrative icon 50 would typically indicatethat the user can listen to the broadcast by selecting the illustrativeicon 50 or button in question. Selecting the illustrative icon 50 orbutton would launch the media client as in 14 which would subsequentlyinitiate an HTTP connection with the media server 32. Typically, thisinvolves the establishment of a TCP/IP connection between the mediaclient as in 14 and the media server 32 on a known port which is used totransmit an HTTP Get. Once the TCP/IP connection has been established,the HTTP Get is transmitted to the media server 32 together withinformation as to the stream. Typically this information is in the formof a mountpoint to which the media client as in 14 will be connected inorder to receive, as will be discussed in more detail below, the hostedmedia stream 24.

Referring now to FIG. 4 in addition to FIG. 1, as discussed above thehosted media stream 24 illustratively comprising a plurality of hostedsegments H_(n) as in 26 which may also be intermingled with a pluralityof musical segments M_(n) as in 28. For example, in FIG. 4 musicalsegments M₁, M₂ and M₃ have been inserted between hosted segments H₁ andH₂. Note that in a particular embodiment, the insertion ofadvertisements and other forms of media or programming, such as trafficor weather reports may also be made, but is not shown.

Still referring to FIG. 4, musical segments as in 28 inserted into thehosted media stream 24 may be retrieved from a plurality of prerecordedmusical segments stored on an music server (reference 52 in FIG. 1),which are stored on storage devices that are generally known in the art,such as hard disks or solid state memory, based on configurationsettings such as user preferences.

Indeed, referring now to FIGS. 5A and 5B in addition to FIG. 1 the usermay illustratively set musical preferences via the client 14 byselecting artists, genres and the like allowing the generation ofpreferred play lists (FIG. 5A) and no play lists (FIG. 5B). Preferencesused for generating playlists are generally gathered when a media clientas in 14 connects to the content provided system 18, prior totransmission of the hosted media stream 24 to the media client as in 14.

Referring now to FIG. 5C, in an additional illustrative embodiment theuser may also select user preferences regarding the broadcast othertypes of content, such as news, weather, traffic reports, advertisementsand the like. For example, selection of weather reports and a particularregion would allow for the insertion of weather reports for that regioninto the broadcast stream, or replacement with existing (for examplenational) weather reports with regional reports or specialty reports,such as those related to a particular sport. Alternatively,non-selection of one of the additional types of content would lead tothat content being replaced with another type of content, such as musicor the like, in the event that that type of content is found in thebroadcast stream. For example, news forms a typical portion of thehosted broadcast stream, but if not selected would be replaced byanother form of content such as music or the like.

In a first embodiment the preferred play lists and no play lists areused to generate customized musical sections for insertion as musicalsegments M_(n) between the hosted segments H_(n) by the mediaacquisition device 38. As a result, and with reference back to FIG. 2, ahosted media stream 24′ is generated which includes a hosted partintermingled with musical selections chosen according to the userspreferences. Additional processing is provided to modify the hostedmedia stream 24′ into an appropriate container based on the AIFF, WAV orXMF formats generally used for framing audio streams. Similarly,pre-framing may involve framing the hosted media stream 24′ media formatinto a container based on the AVI, Flash Video, MPEG-2 format, or thelike, which are generally used for framing audio and video streams.

Referring now to FIG. 6, during encoding of the hosted media stream 24′by the hosted stream generation part 40, the hosted segments H₁, H₂,H_(n), and the musical segments as in M₁, M₂, . . . M_(n) may bedelimited by trigger or break markers as in 54, which may be inserted orencoded into the hosted media stream 24′ during an encoding process ofthe media acquisition device 38 in accordance with an illustrativeembodiment of the present invention. Similarly, individual or groups ofhosted segments as in 26 and/or musical segments as in 28 may also bedelimited by break markers 54 for the modification of these groupsand/or individual segments. The break markers 54 may illustratively bein the form of metadata associated with a particular time point orpoints embedded within the hosted media stream 24′. Alternatively, thebreak markers 54 may comprise tags, executable program code, scripts, orthe like, with the objective of marking the end or beginning of either ahosted segment 26 or a musical segment 28 at different points in timefor the purpose of delimiting the hosted content from the musicalcontent in the hosted media stream 24′. Such encoded metadata may alsoserve to describe attributes of the program contents, such as signallevels, which may subsequently be used by the media serving device 20 toundertake certain operations. Additionally, encoded metadata may alsoinclude information related to program titles, program length, or thelike. Generally, the break markers 54 will be used such that when thehosted media stream 24′ reaches a certain time during the mediamodification process that is described herein below, a trigger markerevent will be raised for instructing the media serving device 20 tomodify the hosted media stream 24′. While the metadata hasillustratively been shown to be embedded within the hosted media stream24′, these data items may alternatively be transmitted as separatecontrol signals to the media serving device 20 for use thereby.

In a second embodiment, although a generic hosted media stream 24′generated by the hosted stream generation part 40 comprises both hostedsegments 26 as in H₁, H₂, H_(n), and generic musical segments 28′ as inM₁, M₂, . . . M_(n), the break markers as in 54 are used to indicatedpoints at which musical segments different from those currently encodedand based on user preferences, may be inserted or encoded into thehosted media stream 24′ by the media server 20. This would allow, forexample, the general musical selections to be determined in accordancewith the host's requirements, but allow particular songs, artists orgenres of music to be substituted when the host's selections do notconform to the preferences of the user as known to the media server 20.

For example if comparison of the encoded meta data indicates that aparticular song in a musical segment is on the user's no play list, asuitable alternative song can be selected by the media server 20according to the user's preferences and substituted within that musicalsegment. In an extreme case, for example where the host playlist isselected exclusively from a genre which is on the user's no play list,all musical segments could be removed and substituted for appropriatesegments. Alternatively, the musical segments could be left blank by thehosted stream generation part 40 and customized playlists inserted bythe media server 20 as required.

Note that although the above illustrative embodiment addresses thecompilation and transmission of a stream to a user including a selectionof music based on user preferences, other types of content such as news,weather, traffic reports and advertisements could also be included inthe resulting stream based on user preferences.

Referring now to FIG. 7 in addition to FIG. 1, the operation of a mediastreaming device 20 will be described. Although, as discussed above, thehosted media stream 24′ can be generated in a customized fashion by themedia acquisition device 38 based on user preferences, typically inorder to address issues such as scalability and the like it ispreferable to transmit a generic hosted media stream 24′ between themedia acquisition device 38 and the media streaming device 20 which issubsequently modified by the media streaming device 20 according to userpreferences.

When a media client as in 14 connects to the media serving device 20 ofthe content provider system 18, the connecting media client as in 14 andthe user are categorized based on information gathered including userpreferences as discussed above in reference to FIGS. 5A and 5B. Themedia serving device 20 comprises, in accordance with an illustrativeembodiment of the present invention, a cache 56, a stream fragmenter 58,a music serving application 60, a stream modifier 62 and a streamingserver 64. In an illustrative operation of the present invention, themedia serving device 20 is supplied a hosted media stream to perform perstream real-time modifications of hosted media stream comprising, forinstance the replacement of generic musical segments as in 28′ alreadyforming part of the hosted media stream based upon user preferences asset by the media clients as in 14 connected to the media serving device20. Advantageously, the generic hosted media stream 24′ is modified bythe media serving device 20 in real-time and in a manner that does notimpact the scalability and performance of the media serving device 20delivering multiple media streams to a multiplicity of different mediaclients as in 14.

Still referring to FIG. 7, in a particular embodiment the hosted mediastream 24′ may be pre-processed, for example in order to transcode thegeneric hosted media stream 24′. Indeed, the generic hosted media stream24′ may be supplied from the media acquisition device (reference 38 onFIG. 2) in an encoding that is unsuitable for transfer to one or more ofthe media clients. In particular, transcoding illustratively involvesaltering the compression algorithm used to compress the generic hostedmedia stream 24′ original format to the format used by the media servingdevice 20. Additionally, sampling rates, as well as the number of mediachannels of the generic hosted media stream 24′ may also illustrativelybe adjusted during pre-processing to match the sampling rates and thenumber of channels of the format used by the media serving device 20.For instance, given a generic hosted media stream 24′ encoded in adifferent compression format compared to the encoding used by the mediaserving device 20, transcoding illustratively adjusts the media streamto the same compression characteristics as that used by the mediaserving device 20. Additionally, transcoding may illustratively compriseconverting WAV streams to MP3 streams.

Still referring to FIG. 7, pre-processing may further comprise theprocess of normalization. Since the generic hosted media stream 24′ maybe supplied from the hosted stream generation part 40 comprising audiowith signal levels that do not match with that used by the media servingdevice 20, normalization of the audio in the generic hosted media stream24′ may be required to avoid clipping or inaudible audio signal levels.In order to normalize the generic hosted media stream 24′ to thecharacteristics of the stream on media serving device 20, it may benecessary to uncompress the already compressed generic hosted mediastream 24′ in order to access the raw signal information. Once the rawsignal information is obtained, the generic hosted media stream 24′ willbe readjusted to fit the requirements of a customised hosted mediastream 24. To match these signal levels, information regarding thesignal levels may be illustratively embedded within metadata of thegeneric hosted media stream 24′ during its encoding at the hosted streamgeneration part 40 such that it may be decoded at this pre-processingstage to be used to normalize and match the input and target signals. Inparticular, normalization summary information which may beillustratively encoded within the generic hosted media stream 24′ asmetadata reflects the signal characteristics of the uncompressed form ofthe signal at its input to the media stream generation part 40. Forinstance, the inserted metadata may illustratively take the form of anormalized data summary that contains the state of the source raw signalat the moment the signal is encoded or may contain an averaged summaryof the signal state between two time intervals. In accordance with analternative illustrative embodiment of the present invention,normalization information may be passed along by the media servingdevice 20 to external applications that may rely on this information toadjust the signal characteristics of the generic hosted media stream24′.

Still referring to FIG. 7, the modification of the media by the mediaserving device 20 in accordance with the illustrative embodiment of thepresent invention will now be described. In particular, there areprovided multiple modification operations that the media serving device20 supports which may illustratively occur at the beginning or the endof a connection between a media serving device 20 and a media client asin 14, as well as during a connection. To trigger modificationoperations, the live media serving system 10 uses the break markers 54embedded within the generic hosted media stream 24′ that mayillustratively signal the beginning and end of hosted or musicalsegments 26, 28 and/or instruct media serving device 20 to undertakecertain modification operations.

Still referring to FIG. 7, in order to facilitate the media modificationprocess of the generic hosted media stream 24′, there is furtherprovided a local media storage module, such as a cache, or buffer, 56,to allow the generic hosted media stream 24′ to be quickly accessible bythe streaming modifier 62 while performing its modification processes.The cache 56 is illustratively provided in the form of the most commonstorage devices such as solid state memory-based storage devices whichare generally known to be used in media servers applications. To improvethe performance of the system, and in accordance with an alternativeembodiment of the present invention, the generic hosted media stream 24′may be temporarily stored in an external high speed storage system (notshown) that is external to the media serving device 20. For instance,the external high speed storage system may be an external or remote harddrive or solid state memory, or any type of networked fast access datastorage device that is generally known in the art.

Still referring to FIG. 7, the generic hosted media stream 24′ isillustratively divided into a plurality of sub-streams as in 66 by thestream fragmenter 58 which splits the hosted media stream 24 into theplurality of sub-streams 66 that are to be individually and distinctlymodified based on the categorization of the recipient media client as in14. This dynamic sub-stream creation process advantageously reduces theresources required to achieve per stream real-time media modification,as media modification performed on a sub-stream as in 66 may betransmitted to a plurality of similarly categorized media clients as in14 in a multicast manner. In particular, the sub-streams as in 66 aredynamically constructed or deconstructed as needed and according to thenumber of connected media applications as in 14 pertaining to aparticular categorization of the media client as in 14 as describedherein above. For instance, if a new session is initiated by a mediaclient as in 14 whose user preferences are different from other alreadyconnected media clients 14, then a new sub-stream as in 66 is derivedand constructed from the generic hosted media stream 24′ to be modifiedin accordance with the user preferences of this media client 14.Similarly, once a session for a media client 14 of has ended, thesub-stream as in 66 for that session may be deconstructed if there areno other media clients as in 14 with the same user preferencesconnected. When several client applications as in 14 having the sameuser preferences are connected to the media serving device 20, the livemedia serving system 10 will direct the modifier 62 to perform real-timemodification operations only once for a given sub-stream as in 66. In aparticular, a default or uncustomised sub-stream 68, where the generichosted media stream 24′ is simply relayed by the media serving device20, could also be provided for.

The creation of a such dynamic parallel streaming architecture basedupon the categorization of the media clients as in 14 connected to thestreaming server device 20 advantageously provides system scalability bycombining multiple concurrent media servers that serve a multiplicity ofdistinct groups of media clients as in 14 so that stream modification isone on a per-stream basis. Accordingly, the live media serving system 10thus shares resources between multiple connected media clients as in 14of the like categorization. The live media serving system 10 as has beenillustratively described advantageously requires less resources than asystem comprising individual connections and less modifications perconnected media client as in 14, as is the case in a unicast system, andis less rigid in its ability to target advertisements to specific groupsof media clients as in 14, as is the case in a multicast system.

Still referring to FIG. 7, each time a break marker as in 54 isencountered within the generic hosted media stream 24′, the streammodifier 62 performs a callout to the music server 60 that will providea suitable musical segment to be used for the modification operationsrequiring the insertion of media into the generic hosted media stream24′. In particular, the call out to the music server 60 will instructthe stream modifier 62 about the musical segment which should be usedfor insertion into a sub-stream or sub-streams as in 66. Illustrativelythe musical segments are stored in the music server (reference 52 inFIG. 1) which is external to the media serving device. The break markeras in 54 may also contain information specifying which type of operationshould be performed on the sub-stream as in 66, such as an overlay or adeletion operation. When calling out the music server 60, the callingstream modifier 62 passes user preferences of the recipient media client14 of that sub-stream 66 to the music server 60 in order to help itdecide which musical segment should be used for insertion. The musicserver 60, upon receiving a call out from the stream modifier 62,performs a lookup in an active music segment list for correlating theuser preferences with the musical segments and returns a musical segmentand modification operation instructions to the stream modifier 62.

Although the present invention has been described hereinabove by way ofnon-restrictive illustrative embodiments and examples thereof, it shouldbe noted that it will be apparent to persons skilled in the art thatmodifications may be made to the illustrative embodiments withoutdeparting from the spirit and the scope of the present invention.

1. A method for customizing a broadcast media stream for delivery to aclient associated with a user via a communication network, the broadcastmedia stream comprising a plurality of content segments, the methodcomprising: requesting at least one user preference from the user;detecting an attribute of a next content segment to be streamed;comparing the detected attribute with the at least one user preferencewherein if the detected attribute does not accord with the at least oneuser preference, the next content segment to be streamed to the user isaltered with an alternative content segment, said alternative contentsegment comprising an attribute which accords with the at least one userpreference; and streaming said next content segment to the clientassociated with the user.
 2. The method of claim 1, wherein said nextcontent segment is altered by replacing said next content segment withsaid alternative content segment.
 3. The method of claim 1, wherein saidrequesting at least one user preference comprises presenting the user aplurality of selectable user preferences on a web interface, promptingthe user to select at least one of the user preferences and storing theat least one selected user preference.
 4. The method of claim 1, whereinthe broadcast media stream comprises a plurality of hosted segmentsseparated by a plurality of musical segments, wherein said next contentsegment comprises a musical segment comprising at least one attributethat does not accord with the at least one user preference and whereinsaid musical segment is altered with said alternative content segment.5. The method of claim 4, wherein said alternative content segment is analternative musical segment comprising attributes that accord with theat least one user preference.
 6. The method of claim 1, wherein thebroadcast media stream comprises a plurality of hosted segmentsseparated by a plurality of informational segments, wherein said nextcontent segment comprises an informational segment comprising at leastone attribute that does not accord with the at least one user preferenceand wherein said informational segment is altered with said alternativecontent segment.
 7. The method of claim 4, wherein said alternativecontent segment comprises an alternative informational segmentcomprising attributes that accord with the at least one user preference.8. The method of claim 1, wherein the broadcast media stream is anonline radio audio stream, the user is a listener and further whereinsaid at least one user preference comprises a play list comprising atleast one play item selected from a group consisting of an artist, analbum and a song.
 9. The method of claim 1, wherein the broadcast mediastream is an online radio audio stream, the user is a listener andfurther wherein said at least one user preference is a music genrepreference selected from a group consisting of pop, rock, r&b, country,blues, electronic, latin, reggae, international, jazz, classical andcombinations thereof.
 10. The method of claim 1, wherein the broadcastmedia stream is an online radio audio stream, the user is a listener andfurther wherein said at least one user preference comprises a no-playlist comprising at least one no-play item selected from a groupconsisting of an artist, an album and a song.
 11. The method of claim 1,wherein the broadcast media stream is an online radio audio stream, theuser is a listener and further wherein said at least one user preferenceis an informational content preference selected from a group consistingof news, traffic reports, weather, advertisements and combinationsthereof.
 12. The method of claim 11, wherein said at least one userpreference further comprises a location of the user, said next contentsegment comprises an informational segment comprising a locationattribute that does not accord with said location of the user, saidalternative content segment comprises an alternative informationalsegment and wherein said alternative informational content is customizedto said location of the user.
 13. A system for delivering a customizedbroadcast media stream to a plurality of users, the system comprising: acommunication network; a plurality of media clients, each of said mediaclients associated with a respective on of the users and at least oneuser preference associated with each of the users; a media serverconnected with each of said plurality of media clients via saidcommunications network; a source of a media stream comprising aplurality of content segments; and a source of a plurality ofalternative content segments; wherein for each of said plurality ofmedia clients said media server detects an attribute of a next contentsegment to be streamed from said plurality of content segments andwherein when said detected attribute does not accord with said at leastone user preference of said associated user, said next content segmentis modified with an alternative content segment for streaming to saidclient, said alternative content segment comprising an attribute whichaccords with the at least one user preference.
 14. The system of claim13, further comprising a web server comprising a web interface forpresenting the user a plurality of selectable user preferences andprompting the user to select at least one of the user preferenceswherein said selected user preferences are stored such that they areaccessible by said media server.
 15. The system of claim 13, whereinsaid media stream is a live hosted audio stream comprising a pluralityof hosted segments separated by a plurality of musical segments, saidplurality of alternative content segments comprises a plurality ofalternative musical segments and said at least one user preference is amusical preference.
 16. The system of claim 13, wherein said mediastream is a live hosted audio stream comprising a plurality of hostedsegments separated by a plurality of informational segments, saidplurality of alternative content segments comprises a plurality ofalternative informational segments and said at least one user preferenceis a informational preference.
 17. The system of claim 16, wherein saidat least one user preference is a user location, said next contentsegment comprises an informational segment comprising a locationattribute that does not accord with said user location and wherein atleast one of said plurality of said alternative informational content iscustomized to said user location.
 18. The system of claim 16, whereinsaid media stream source is connected with said media server via saidcommunications network.
 19. A media server for customizing a genericmedia stream comprising a plurality of content segments for delivery toa plurality of media clients via a communications network, each of saidclients associated with a respective one of a plurality of users, eachof the users having at least one user preference, the server comprising:an interface for communicating with the plurality of media clients viathe communications system; a storage system for holding a plurality ofalternative content segments; a fragmenter for dividing the genericmedia stream into a plurality of sub streams, each of sub streams forstreaming to an associated client via said interface; and a modifier foreach of said sub streams, wherein for each sub stream, when saidmodifier detects that an attribute of a next content segment does notaccord with the at least one user preference of the user of said clientassociated with said sub stream, said next segment is replaced with analternative content segment comprising an attribute which accords withthe at least one user preference.
 20. The server of claim 19, whereinthe generic media stream is generated by an external source and furthercomprising an interface for receiving the media stream from the externalsource.
 21. The server of claim 19, wherein said generic media streamcomprises a live hosted audio stream comprising a plurality of hostedsegments separated by a plurality of generic segments, said plurality ofalternative content segments comprises a plurality of musical segments,said at least one user preference is a musical preference, and furtherwherein when said modifier detects that said next content segment is ageneric segment, said modifier replaces said generic segment with one ofsaid plurality of musical segments having an attribute which accordswith said at least one user preference.
 22. The server of claim 19,wherein said generic media stream comprises a live hosted audio streamcomprising a plurality of hosted segments separated by a plurality ofmusical segments, said plurality of alternative content segmentscomprises a plurality of musical segments, said at least one userpreference is a musical preference, and further wherein when saidmodifier detects that said next content segment is a musical segmentcomprising an attribute that does not accord with said at least one userpreference, said modifier replaces said next segment with one of saidplurality of alternative musical segments having an attribute whichaccords with said at least one user preference.
 23. The server of claim22, wherein said storage system comprises a music server and furtherwherein said modifier provides said music server with said at least oneuser preference said music server returns said modifier one of saidplurality of alternative musical segments having an attribute whichaccords with said at least one user preference.